<!-- 动态属性表单 -->

<template>
  <WebForm path="child" word5>
    <FormInput label="属性名称" bind="propertyLabel" :max="10" required />

    <FormSelect
      label="属性类型"
      bind="dataTypeId, dataTypeLabel, dataTypeValue"
      :dict="CORE.DICT.input_type"
      required
    />

    <FormNum label="排序" bind="sort" :min="1" :max="99" :check="checkSort" tip="请输入" half required />
  </WebForm>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'ChildForm',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb('child')],

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 检查排序
     */
    checkSort(sort) {
      const { list, one } = this
      const children = list.filter((item) => item.id !== one.id)
      const exists = children.some((item) => item.sort === sort)
      return exists ? '排序值已存在' : ''
    },
  },
}
</script>
